package com.yanfan.elevator.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;

import com.yanfan.common.annotation.Excel;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.FieldFill;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 电梯系统设备对象 ibms_elevator_device
 *
 * @author genluo
 * @date 2024-08-27
 */

@Data
public class IbmsElevatorDevice implements Serializable{

private static final long serialVersionUID=1L;

    /**
     * id
     */
    @Excel(name = "id")
    @TableId(value = "id" , type = IdType.AUTO) // 整型类型使用自增
    private Long id;

    /**
     * 电梯名
     */
    @Excel(name = "电梯名")
    @NotBlank(message = "电梯名不能为空")
    private String elevatorName;

    /**
     * 建筑名
     */
    @Excel(name = "建筑名")
    private String buildingName;

    /**
     * 当前楼层
     */
    @Excel(name = "当前楼层")
    private Long currentFloor;

    /**
     * 运行方向
     */
    @Excel(name = "运行方向")
    private String direction;

    /**
     * 门状态
     */
    @Excel(name = "门状态")
    private String doorStatus;

    /**
     * 操作状态
     */
    @Excel(name = "操作状态")
    private String operationStatus;

    /**
     * 告警状态
     */
    @Excel(name = "告警状态")
    private Integer alarmStatus;

    /**
     * 告警信息
     */
    @Excel(name = "告警信息")
    private String alarmMessage;

    /**
     * 最后维护日期
     */
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "最后维护日期" , width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date lastMaintenanceDate;

    /**
     * 摄像头路径
     */
    @Excel(name = "摄像头路径")
    private String monitoringCameraUrl;

    /**
     * 创建时间
     */
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "创建时间" , width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @NotNull(message = "创建时间不能为空")
    private Date createdAt;

    /**
     * 更新时间
     */
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "更新时间" , width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @NotNull(message = "更新时间不能为空")
    private Date updatedAt;


}
